package com.weitu.securitycheck.mapper;

import com.weitu.securitycheck.entity.CheckInfo;
import com.weitu.securitycheck.entity.CheckInfoCriteria;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author LiMeng
 *         date 2017/05/12 18:01
 */
public interface CheckInfoMapper {
    /**
     * 查询数量
     *
     * @param example 条件对象
     */
    int countByCriteria(CheckInfoCriteria example);

    /**
     * 根据ID删除
     *
     * @param id 主键ID
     */
    int deleteByPrimaryKey(String id);

    /**
     * 添加对象对应字段
     *
     * @param record 插入字段对象(必须含ID）
     */
    int insertSelective(CheckInfo record);

    /**
     * 根据条件查询
     *
     * @param example 条件对象
     */
    List<CheckInfo> selectByCriteria(CheckInfoCriteria example);

    /**
     * 根据ID查询
     *
     * @param id 主键ID
     */
    CheckInfo selectByPrimaryKey(String id);

    /**
     * 根据条件修改对应字段
     *
     * @param record  修改字段对象 (JOPO)
     * @param example 条件对象
     */
    int updateByCriteriaSelective(@Param("record") CheckInfo record, @Param("example") CheckInfoCriteria example);

    /**
     * 根据ID修改对应字段
     *
     * @param record 修改字段对象(必须含ID）
     */
    int updateByPrimaryKeySelective(CheckInfo record);

    /**
     * 根据所有已关联检查信息的checkPlanId
     * @param id 检查信息id
     */
    List<String> selectCheckPlanIds(String id);
}